package com.lthlearn.mapper;

import com.lthlearn.pojo.Travel;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author: 2942733239@qq.com
 * @date: 2024/11/7 15:36
 * @description: com.lthlearn.mapper
 * @version: 1.0
 */
public interface CollectMapper {

    /**
     * 分步查询第二步：根据 user_id 查询用户收藏的所有景点 id
     *
     * @param userId
     * @return
     */
    List<Integer> findPlaceIdByUserIdStepTwo(Integer userId);

    /**
     * 检查当前用户是否收藏该景点
     *
     * @param userId
     * @param placeId
     * @return
     */
    @Select("select " +
            "count(*) " +
            "from tb_favorites " +
            "where user_id=#{userId} and place_id=#{placeId}")
    int checkCollect(Integer userId, Integer placeId);

    /**
     * 添加收藏，建议收藏前检查收藏表是否收藏该景点
     *
     * @param userId
     * @param placeId
     * @return
     */
    int insertCollect(Integer userId, Integer placeId);

    /**
     * 删除收藏，建议收藏前检查收藏表是否收藏该景点
     *
     * @param userId
     * @param placeId
     * @return
     */
    Boolean deleteCollect(Integer userId, Integer placeId);
}
